package main

import (
	"github.com/gin-gonic/gin"
	"net/url"
)

// main函数是程序的入口点
func main() {
	// 初始化一个默认的gin路由器
	router := gin.Default()

	// 设置路由处理文件下载请求
	router.GET("download", func(c *gin.Context) {
		// 设置响应头，指示内容类型为二进制流
		c.Header("Content-Type", "application/octet-stream")
		// 设置响应头，指定内容处置为附件，并设置附件名为demo01.png
		c.Header("Content-Disposition", "attachment; filename="+url.QueryEscape("demo01.png"))
		// 设置响应头，指定内容传输编码为二进制
		c.Header("Content-Transfer-Encoding", "binary")
		// 发送文件demo01.png给客户端
		c.File("./static/demo01.png")
	})
	// 启动HTTP服务器并监听8080端口
	router.Run(":8080")
}
